/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package be.ugent.medirem.persistence.facade;

import be.ugent.medirem.persistence.entity.details.MedicationDetails;
import be.ugent.medirem.persistence.entity.values.MedicationValues;
import be.ugent.medirem.persistence.exception.EntityNotFoundException;
import java.util.List;
import javax.ejb.Local;

/**
 *
 * @author Thomas Roelens <thomas.roelens@ugent.be>
 */
@Local
public interface MedicationDaoLocal {

    Long create(MedicationValues details) throws IllegalArgumentException, EntityNotFoundException;

    void remove(Long medicationId) throws IllegalArgumentException, EntityNotFoundException;

    void update(Long medicationId, MedicationValues details) throws IllegalArgumentException, EntityNotFoundException;

    MedicationDetails getDetails(Long medicationId) throws IllegalArgumentException, EntityNotFoundException;

    List<MedicationDetails> search(String medicationName);

    List<MedicationDetails> getAllMedications();

}
